#pragma once

#include <memory>
#include <map>
#include <string>

#include "Parameter.h"

class WAppManager
{
private:
	//singleton manager class
	WAppManager()
	{

	}
	

	static std::shared_ptr<WAppManager> instance;
	std::map<std::string, std::shared_ptr<IParameter>> parameters;

public:
	~WAppManager()
	{

	}

	void RegisterParameter(std::string key, std::shared_ptr<IParameter> param);
	
	static std::shared_ptr<WAppManager> Instance();
};